#ifndef VENTANAPRINCIPAL_H_INCLUDED
#define VENTANAPRINCIPAL_H_INCLUDED

class VentanaPrincipal : public wxFrame {

    public:
        /*Por ahora sólo pido estos parámetros, pero se pueden agregar más. Ver el constructor de wxFrame.*/
        /*El primer parámetro se lo agrego para poder manejar los eventos de una cola de eventos. */
        VentanaPrincipal(AdivinaLosColores* AApp, wxString Title = _T("AdivinaLosColores") );

        /* Esta funcion será la encargada de cerrar el programa. */
        void Quit();

    private:
        /* Aplicación a la cuál pertenece. */
        AdivinaLosColores * _App;

        /**Acá van todas las variables que voy a usar para crear la GUI del juego**/

        wxMenu* _fileMenu;
        wxMenuBar* _menuBar;
        wxPanel* _panel1;
        wxPanel* _panel2;
        wxPanel* _panel3;
        wxPanel* _panel4;
        wxRadioBox* _eleccion1;
        wxRadioBox* _eleccion2;
        wxRadioBox* _eleccion3;
        wxRadioBox* _eleccion4;
        wxTextCtrl* _resultados;
        wxTextCtrl* _jugadasRestantes;
        wxButton* _ingresarJugada;
        wxStaticText* _labelResultados;
        wxStaticText* _labelRestantes;
        wxBoxSizer *_sizerPanel1;
        wxBoxSizer *_sizerPanel2;
        wxBoxSizer *_sizerPanel3;
        wxBoxSizer *_sizerPanel4;
        wxBoxSizer *_upSizer;
        wxBoxSizer *_downSizer;
        wxBoxSizer *_topSizer;

        /**************************************************************************/

        /* Esto va a manejar el evento de cierre desde la menuBar. */
        void OnQuit(wxCommandEvent& event);

        /* Esto va a manejar el evento de cierre desde la X. */
        void OnQuitX(wxCloseEvent& event);


        /**ESTAS FUNCIONES Y VARIABLES CONECTAN AL JUEGO CON LA GUI**/
        void comenzarNuevaPartida(wxCommandEvent& event);

        void ingresarIntento(wxCommandEvent& event);

        Juego* _juego;
        /************************************************************/

        /* any class wishing to process wxWidgets events must use this macro */
        DECLARE_EVENT_TABLE()

};

#endif // VENTANAPRINCIPAL_H_INCLUDED
